package org.dromara.system.domain.bo;

import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.system.domain.SalesData;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

/**
 * 销售数据信息业务对象 t_sales_data
 *
 * @author joker
 * @date 2025-05-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SalesData.class, reverseConvertGenerate = false)
public class SalesDataBo extends BaseEntity {

    /**
     * 销售ID
     */
    @NotNull(message = "销售ID不能为空", groups = { EditGroup.class })
    private Long salesId;

    /**
     * 店铺ID
     */
    private Long storeId;

    /**
     * 销售数量
     */
    private Long salesQuantity;

    /**
     * 销售时间
     */
    private String salesTime;

    /**
     * 卡品名称
     */
    private String productName;

    /**
     * 单品佣金
     */
    private Long singleItemCommission;

    /**
     * 佣金（激活量*单品佣金）
     */
    private Long commissionMoney;

    /**
     * 平台服务费（销售总数*3.5）
     */
    private Long platformServiceFee;

    /**
     * 订单发出数（发货、首充、激活）
     */
    private Long orderDispatchedNumber;

    /**
     * 激活量（已激活，已首充）
     */
    private Long activationQuantity;

    /**
     * 发货率（订单发出数/销售数量）
     */
    private Long shipmentRate;

    /**
     * 发货激活率（激活量/订单发出数）
     */
    private Long shipmentActivationRate;

    /**
     * 激活率（激活量/销售数）
     */
    private Long activationRate;

    /**
     * 待发货数量（待发货、审核中、异常单）
     */
    private Long shippedQuantity;

    /**
     * 备注
     */
    private String remark;


}
